package com.todo.user.application.frontend.service;


import com.todo.common.common.entity.response.BizResponse;
import com.todo.common.common.entity.response.page.PageResult;
import com.todo.user.iface.frontend.request.*;
import com.todo.user.iface.frontend.response.BaseUserDetailVO;
import com.todo.user.iface.frontend.response.UserDetailVO;
import com.todo.user.iface.frontend.response.UserRelationVO;

/**
 * @author zhangwenxiang
 * @date 2024/4/9 11:46
 * @description
 */
public interface UserInfoAggService {

    /**
     * 查询其他用户信息
     *
     * @param param
     * @return
     */
    BizResponse<BaseUserDetailVO> queryOtherUserInfoDetail(QueryOtherUserDetailParam param);

    /**
     * 查询用户详情信息
     *
     * @param param
     * @return
     */
    BizResponse<UserDetailVO> queryUserDetail(QueryUserDetailParam param);

    /**
     * 更新用户详情信息
     *
     * @param param
     * @return
     */
    BizResponse<Boolean> updateUserDetail(UserDetailParam param);

    /**
     * 保存用户关联信息
     *
     * @param param
     * @return
     */
    BizResponse<Boolean> saveUserRelation(SaveUserRelationParam param);

    /**
     * 查询用户关联列表
     *
     * @param param
     * @return
     */
    PageResult<UserRelationVO> queryUserRelationList(UserRelationListParam param);

    /**
     * 更新用户头像
     *
     * @param param
     * @return
     */
    BizResponse<Boolean> updateUserHeadImg(UserHeadImgParam param);
}
